package com.itheima.test04;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

/*
## 题目4（加强训练）
需求：使用TCP协议实现客户端和服务端互相发送消息。
客户端发送一条消息，服务器读取之后，返回一条消息给客户端，客户端读取服务器返回的消息之后，又发送一条消息…循环执行，直到输入exit。
要求:
1. 消息内容通过键盘输入
2. 要求服务器端和客户端都使用字符流的方式发送和接收数据。
   使用BufffferedReader方法readLine()读取一行数据。
   使用BufffferedWriter方法write("字符串的数据")发送数据。
 */
public class TestTcpService {
    public static void main(String[] args) throws IOException {
        ServerSocket serverSocket = new ServerSocket(10888);
        Socket accept;
        InputStream inputStream;
        OutputStream outputStream;

        while (true) {
            accept = serverSocket.accept();
            //服务器读取
            inputStream = accept.getInputStream();
            outputStream = accept.getOutputStream();
            int len;
            byte[] bytes = new byte[1024];
            while ((len = inputStream.read(bytes)) != -1){
                String massage = new String(bytes, 0, len);
                System.out.println("获得数据：" + massage);
                /*if(massage.equals("exit")){
                    accept.shutdownOutput();
                    serverSocket.close();
                    break;
                }*/
            }
            //返回一条消息给客户端

            outputStream.write("信息获取成功".getBytes());
            outputStream.flush();
            accept.shutdownOutput();

        }
    }
}
